#ifndef _HAL_PMBITMAP_H_
#define	_HAL_PMBITMAP_H_

#include <Utils/Bitmap.h>

class PmBitmap : public Utils::Bitmap
{
public:
	void SetPage(uintptr_t addr);
	void ClearPage(uintptr_t addr);
	bool TestPage(uintptr_t addr) const;
	
	uintptr_t FirstFree(uintptr_t base = 0x1000000) const;
	
	void Protect(uintptr_t base, size_t count);
	
	/* Do not call this Reset. That name is used in Utils::Bitmap */
	void PmReset();
	
private:

};

#endif
